/* 
 * File:   ObjetoGrafico.hpp
 * Author: cesar
 *
 * Created on 12 de octubre de 2012, 19:14
 * 
 * Esta clase ofrece funciones que permiten manipular, dibujar y cargar modelos
 * .obj para colocarlos en la escena
 */



#ifndef MODELO_H
#define	MODELO_H

#include "ObjetoGrafico.hpp"
#include "glm.hpp"

class Modelo : public ObjetoGrafico {
public:
    GLfloat escala; // El valor del escalamiento aplicado al modelo
    GLMmodel* model; // El apuntador al modelo en si.

    /**
     * Constructor de la clase Modelo.
     * 
     * @param scalado : La escala que se le quiere aplicar al modelo.
     * @param nombre : El nombre del modelo.
     * @param pos_x : La posicion del Modelo en el eje X.
     * @param pos_y : La posicion del Modelo en el eje Y.
     * @param pos_z : La posicion del Modelo en el eje Z.
     */
    Modelo(GLfloat scalado, char * nombre, GLfloat pos_x = 0.0, GLfloat pos_y = 0.0, GLfloat pos_z = 0.0);

    /**
     * Metodo que permite dibujar el modelo en la escena. Este metodo es virtual
     * y heredado de ObjetoGrafico.
     */
    virtual void dibujar();

private:

};

#endif	/* MODELO_H */

